#!/usr/bin/env python3
"""
构建和部署 Iris 分类器服务
使用已训练好的 iris_clf:latest 模型
"""
import bentoml
import sys

def verify_model():
    """验证 iris_clf:latest 模型是否存在"""
    print("检查模型 iris_clf:latest...")
    try:
        model = bentoml.models.get("iris_clf:latest")
        print(f"✓ 找到模型: {model.tag}")
        return True
    except bentoml.exceptions.NotFound:
        print("✗ 错误: 模型 iris_clf:latest 不存在")
        print("请先运行: uv run python development/train_model.py")
        return False

def main():
    print("=" * 60)
    print("Iris 分类器构建和部署指南")
    print("=" * 60)
    
    # 验证模型
    if not verify_model():
        sys.exit(1)
    
    print("\n请按以下步骤执行：")
    print("\n1. 构建 Bento 包：")
    print("   uv run bentoml build")
    
    print("\n2. 容器化（记录输出的 bento tag）：")
    print("   uv run bentoml containerize <bento_tag> -t docker.io/library/bentoml1:latest")
    
    print("\n3. 导入镜像到 k3d：")
    print("   k3d image import docker.io/library/bentoml1:latest -c mycluster")
    
    print("\n4. 部署到 Kubernetes：")
    print("   kubectl apply -f iris_deployment.yaml")
    
    print("\n5. 重启部署：")
    print("   kubectl rollout restart deployment/iris-classifier")
    
    print("\n6. 访问服务：")
    print("   http://localhost:8081")
    
    print("\n" + "=" * 60)

if __name__ == "__main__":
    main()